/**
 * 版权所有(C)，上海海鼎信息工程股份有限公司，2007，所有权利保留。
 * 
 * 项目名：	rumba
 * 文件名：	BPersistent.java
 * 模块说明：	
 * 修改历史：
 * Nov 28, 2007 - lxm - 创建。
 */
package com.hd123.rumba.gwt.base.client.biz;

import java.io.Serializable;

import com.hd123.rumba.gwt.base.client.exception.ClientBizException;

/**
 * 持久化对象 | 业务层 | 实体
 * <p>
 * 
 * 设计作为所有业务层实体对象的父类。对于具体业务层实体类的设计者，在定义该类的同时需要考虑定义对应的业务层实体阅读器类。同时需要指定其所对应的业务层实体阅读器类，具体通过重写抽象方法{@link #getReaderClassName()}。
 * 
 * @see com.hd123.rumba.gwt.base.server.biz.BPersistentReader
 * @author lxm
 * 
 */
public abstract class BPersistent implements Serializable {

  /** 属性：唯一标识 */
  protected String uuid;

  /** 属性：唯一标识 */
  public String getUuid() {
    return uuid;
  }

  /** 属性：唯一标识 */
  public void setUuid(String uuid) throws ClientBizException {
    this.uuid = uuid;
  }

  /**
   * 取得对应阅读器的类名。
   * <p>
   * 
   * 这是一个抽象方法，需要由最终的业务对象指定。要求返回的类名所指向的必须是com.hd123.rumba.runtime.biz.BPersistentReader的子类。并要求在任何时候返回值不可发生变化。
   * 
   * @see com.hd123.rumba.gwt.base.server.biz.BPersistentReader
   * @return 阅读器的类名。
   * @throws ClientBizException
   */
  public abstract String getReaderClassName() throws ClientBizException;
}
